#ifndef DATAFLOW_ARGUMENTVECTOR_H
#define DATAFLOW_ARGUMENTVECTOR_H

#include "ArgumentArray.h"


namespace DataFlow
{

class ArgumentVector : public ArgumentArray
{
	public:

		typedef ArgumentArray  BaseType;
		typedef ArgumentVector ThisType;

		ArgumentVector(void)
		{
			;
		}

		ArgumentVector(int size)
			: BaseType(size)
		{
			;
		}

		ArgumentVector(const ThisType & other)
			: BaseType(other)
		{
			;
		}

		void validate(void)
		{
			this->d->validate();
		}

		void invalidate(void)
		{
			this->d->invalidate();
		}

		void resize(int size)
		{
			this->d->resize(size);
		}

		void reserve(int size)
		{
			this->d->reserve(size);
		}

		void clear(void)
		{
			this->d->clear();
		}

		void pushBack(const Argument & arg)
		{
			this->d->pushBack(arg);
		}

		void swap(ThisType & other)
		{
			this->d->swap(other);
		}

		void swap(BaseType & other)
		{
			this->d->swap(other);
		}
};

}

#endif // DATAFLOW_ARGUMENTVECTOR_H
